package com.mall.module.system.domain.entity;

import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;

/**
 * 用户会话实体
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserSession {
    private Long id;                 // 会话ID
    private Long userId;             // 用户ID
    private String username;         // 用户名
    private String token;            // JWT Token
    private String deviceId;         // 设备ID
    private String deviceType;       // 设备类型（web、mobile、app等）
    private String deviceInfo;       // 设备信息
    private String ipAddress;        // IP地址
    private String userAgent;        // 用户代理
    private LocalDateTime loginTime; // 登录时间
    private LocalDateTime logoutTime; // 登出时间
    private LocalDateTime expireTime; // 过期时间
    private Integer status;          // 状态：1-活跃, 0-已登出
    private String logoutReason;     // 登出原因
    private LocalDateTime createTime; // 创建时间
    private LocalDateTime updateTime; // 更新时间
} 